package com.example.bookmall.service;


import com.example.bookmall.entity.IdentifierType;
import com.example.bookmall.entity.Result;
import com.example.bookmall.entity.usercore.*;

import java.util.List;

public interface UserService {

    //注册
    Result register(RegisterDTO registerDTO);

    //登录
    Result login(LoginData loginData);

    //判断用户名或邮箱或手机号是否已经注册
    public User isIdentifierRegistered(String identifier, IdentifierType type);

    //根据用户邮箱查询用户
    User selectByEmail(String email);
    //根据用户手机号查询用户
    User selectByPhone(String phone);
    //根据用户名查询用户
    User findByUserName(String username);


    //获取所有普通用户
    List<User> listCommonUser();

    //获取所有用户
    List<User> listAllUser();

    //根据用户id查询用户
    User findById(Integer userId);

    //修改密码
    Result updatePwd(PwdString pwdString, String token);

    //修改用户信息
    Result updateUserProfile(UpdateData updateData);

    //修改用户头像
    Result updateAvatar(String avatar, Integer userId);
}